Distributed or grid computing provides the ability to share and allocate processing requests and resources among various nodes, computers or server farm(s) within a grid. A server farm is generally a group of networked servers or, alternatively, a networked multi-processor computing environment, in which work is distributed between multiple processors. Workload is distributed between individual components or processors of servers. Networked servers of a grid can be geographically dispersed. Grid computing can be confined to a network of computer workstations within a company or it can be a public collaboration.
Resources that are distributed throughout the grid include various objects. An object is a self-contained module of data and associated processing that resides in a process space. There can be one object per process or tens of thousands of objects per process.
A server farm environment can include different classes of resources, machine types and architectures, operating systems, storage and hardware. Server farms are typically coupled with a layer of load-balancing or distributed resource management (DRM) software to perform numerous tasks, such as managing and tracking processing demand, selecting machines on which to run a given task or process, and scheduling tasks for execution.
In distributed computing systems or grids, however, various objects are often scattered in disparate locations throughout the grid or on a computing system that is external to the grid. Due to the complex nature of such systems, it can become difficult, if not impossible, for a requesting client, such as a requesting object or process, to know the location of or reference to the requested object within the grid. Thus, a need continues to exist for a system and method that can effectively locate an object within a distributed computing grid.